package chh3933.generator;

//
public class MyGeneratorConfig {
    public static String JP ="D:\\jxWorkspace\\saas-service\\";//后端根目录
    public static String VP ="D:\\jxWorkspace\\saas-client\\";//前端根目录
    public static String ModuleName = "system";//服务名称，影响包命名
    public static String AUTHOR = "腾木";// 作者
    //***
    public static String DbName = "students5yue";//"students5yue";//数据库登入名
    public static String DbPWD = "stuYI8O92!j&3933";//"stuYI8O92!j&3933";//数据库密码stu19_3933

    // --------
    public static String DbSchemalName = "db_"+ModuleName;//数据库名
    public static String ProjectPath = JP+"cloud-service\\"+ModuleName+"-service";//子项目路径
    public static String PojoPath = JP+"dt-cloud-api\\api-manage";//pojo数据bean路径
    public static String VuePath = VP+"src\\views\\"+ModuleName+"\\";// vue页面路径
    public static String JsPath = VP+"src\\api\\"+ModuleName+"\\";// js路径
    public static String JdbcUrl = "jdbc:mysql://gz-cdb-es6t40r3.sql.tencentcdb.com:63894/"+DbSchemalName+"?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=GMT%2B8";
    //gz-cdb-es6t40r3.sql.tencentcdb.com:63894
    public static String JdbcUrlSys = "jdbc:mysql://gz-cdb-es6t40r3.sql.tencentcdb.com:63894/db_system?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=GMT%2B8";
    public static String PackagePath = "com.tem."+ModuleName;//java、xml 文件存放路径  从/admin/src/main/java/开始连接
    public static String PojoPackagePath = "com.api.manage.pojo."+ModuleName;
    public static boolean SetSwagger2 = true; // swagger注解; 须添加swagger依赖
}
/* velocity 编写模板说明
默认情况下，velocity 通过 #set($var=...)  为变量赋值时，如果等号右侧是用双引号引起来的字符串，则会对字符串中的变量进行解析，如：

#set($var1 = "test1")
#set($var2 = "test2_$var1")
$var2  将输出 test2_test1

如果是用单引号引起来的，则不会对引号中的变量进行解析，而是直接原样输出，上面的 $var2 将输出test2_$var1

网上有资料说“默认情况下，使用单引号来渲染未解析文本在Velocity是有效的。这种特征可以通过编辑velocity.properties
中的 stringliterals.interpolate=false来改变。” 但自己经过测试后，发现该设置并没生效（不管值为 false 还是 true，效果都是一样的）。

现在有这么一种情况，我要赋给 $var2 的值既有单引号，又有双引号，还有需要进行解析的变量，这时候应该怎么处理呢？尝试着使用“\”对单引号和双引号进行转义，
发现“\”并不能对引号进行转义，“\”只对 $、# 生效。

#set($var2 = "test'2"_$var1")  -->   org.apache.velocity.runtime.parser.ParseException: Encountered "_" at line 6, column 22.
#set($var2 = "test'2\"_$var1")  -->  org.apache.velocity.runtime.parser.ParseException: Encountered "_" at line 7, column 23.
#set($var2 = 'test'2"_$var1')  -->  org.apache.velocity.runtime.parser.ParseException: Encountered "2" at line 8, column 20.
#set($var2 = 'test\'2"_$var1') -->  org.apache.velocity.runtime.parser.ParseException: Encountered "2" at line 9, column 21.
通过以上四种尝试均未达到预期效果（期望值是 $var2 的输出结果为 test'2"_test1）

仍然没有达到效果，所以继续进行各种尝试，最终终于知道怎么对单引号和双引号进行转义了：

（1）最外层是用单引号包围时，双引号直接使用就可以了，两个连续的单引号表示一个单引号：#set($var2 = 'A"B''C') --> $var2 的值为 A"B'C
（2）最外层是用双引号包围时，单引号直接使用就可以了，两个连续的双引号表示一个双引号：#set($var2 = "A""B'C") --> $var2 的值为 A"B'C
（3）字符串中的变量需要被解析，则最外层用双引号包围：#set($var2 = "A""B'C_$var1") --> $var2 的值为A"B'C_test1
（4）字符串中的变量不能被解析，则最外层用单引号包围：#set($var2 = 'A"B''C_$var1') --> $var2 的值为A"B'C__$var1
*/
